Adaptive feedback arrangement for controlling agent availability service level in a predictive dialer

ABSTRACT

A feedback control for a predictive dialer employs three feedback loops. A first feedback loop adjusts the dialer&#39;s call initiations to compensate for error between the desired, reference, service level and a service level realized by calls that were initiated by the predictive dialer to steer the realized service level to the reference service level. A second loop adjusts the predictive dialer&#39;s call initiations for margin between the number of non-nuisance calls (successes) initiated by the predictive dialer over a time and the number of successes that would have been sufficient to produce the reference service level to force the realized service level to converge to the reference service error while ensuring that the oscillations of the realized service level stay above the reference service level. A third loop controls the aggressiveness with which the predictive dialer initiates calls, with a calibration factor that compensates for systematic error in the aggressiveness and possibly attenuates oscillations in the realized service level.

TECHNICAL FIELD

This invention relates to predictive dialers.

BACKGROUND OF THE INVENTION

A predictive dialer is a system that generates outbound calls from acall center. Outbound calls that reach a live called party (i.e., ahuman being answers the call) are connected to call center agents forhandling, i.e., servicing. Such answered calls for which no agent isimmediately available to service them are referred to as nuisance calls.Nuisance calls are possible because the predictive dialer initiatescalls without a priori assignment and connection of agents to thegenerated calls. Furthermore, because generated calls can go unansweredor may be answered by a machine as opposed to a live called party, thepredictive dialer typically initiates more outbound calls than there areagents available to service them. With automatic call classification ofwhether or not, and by what, an outbound call has been answered, thecall center determines the need for an agent only when the call isanswered. The call center then attempts to match and connect the callanswered by a live party to an individual agent for immediate servicing.

A call center has the conflicting objectives of minimizing agent idletime while minimizing the numbers of nuisance calls. But twocharacteristics of telephone calling are inherently problematic foragent utilization. The first is the long ring time required to reach acalled party, and the second is a high incidence of call attempts thatresult in failure to connect to a live called party. Without predictivedialing, agents would spend considerable time waiting for ringing phonesto be answered. When a ringing phone is not answered, the agent wouldhave to wait again for results of the next call attempt. Predictivedialing attempts to reduce agent wait-times. However, that is notwithout risk of connecting to a called party without an agent beingavailable to service the call.

In a predictive dialing environment, agents are presently unavailablebecause they are performing tasks that are designated to beun-interruptible. That is, an agent can do only one task at a time andcannot start a new task until the previous task is completed.Additionally, only one agent can usually be assigned to a particulartask. The tasks typically involve live clients in a transaction, andbackground fulfillment tasks may be dynamically interspersed amongstthem. Agents that are presently handling tasks are rendered unavailable.However, each unavailable agent can be expected to complete their taskwith a particular probability over a future time interval.

Predictive dialers use various methods and algorithms to systematicallyinitiate calls before agents are available to handle them. Whatever isthe basic method that a dialer employs, it attempts to achieve a balancebetween agent utilization and nuisance-call rates. Such balancingtypically employs heuristics realized in the predictive dialer's dialingalgorithm. However, it faces many dynamic and unsystematic variations incharacteristics of the called population, characteristics of the callingcampaign, spontaneous assignment of agents to other work, andinconsistent behavior of agents. These variations tend to upset any realbalance between agent utilization and nuisance-call rates. Thepredictive methods alone do not sufficiently compensate for theunsystematic uncertainty in their predictive models. Either there isexcessive agent idle time (detected as an excess service level), orthere is lack of promptness in responding to called parties who answer(detected as an insufficient service level). A service level is apercentage or a ratio of those transactions out of all transactions thatsatisfy some criterion of “goodness.”

Some predictive dialing systems employ feedback. The feedback typicallyincludes agent's and call-handling characteristics and answer-delayresults from the inexact matching of agents with calls answered by livecalled parties. However, these systems use feedback to directly speed upor slow down the rate of initiation of telephone calls, or they usefeedback to update operating characteristics such as hit rate and handletime. Predictive dialing systems that directly change the dialing ratedo not adapt appropriately, because the feedback should only effect amarginal adjustment to the predictive model. Changing the dialing rateis too discrete a change. Sometimes the incremental change is too much,sometimes it is too little, and sometimes the feedback results in severeinstabilities in the dialing rate. Such performance is insufficient forcontrolling system operation to achieve very high service levels suchas, for example, immediately connecting to an agent 99% of live calledparties who answer.

Existing predictive dialing systems do not attempt to systematicallysubject themselves to marginally-greater risk of nuisance calls in favorof greater agent utilization while maintaining an objective measure ofcumulative performance against nuisance-call rates.

SUMMARY OF THE INVENTION

This invention is directed to solving these and other problems anddisadvantages of the prior art. It seeks to minimize agent idle timewhile ensuring compliance with limits on nuisance calls. The inventionprovides feedback regarding realized service level to dynamically changethe aggressiveness of the predictive dialer, yet the basic predictivedialer and its methods of operation may remain unchanged. It employsadaptive control in the feedback of service-level error to ensurecontinual achievement of the service-level goal while effecting greateraggressiveness in the performance of the dialer to eliminate sustainedaccretion of excess agent wait-time. An illustrative embodiment of theinvention employs three feedback loops external to the basic predictivedialer. One takes the cumulative service-level error and feeds it backinto the dialing-aggressiveness setting for the predictive dialer, withvariable-gain factors set to favor achieving the desired service levelover achieving highest agent utilization. The second feedback loop feedsback the current magnitude of the margin in the number of nuisancecalls, where the margin is defined as the number of calls requiring anagent that were immediately connected to an agent less the product ofthe number of calls requiring an agent and the desired service level.The third feedback loop employs exponential moving averages to get acalibration factor that is a ratio of nuisance calls to aggressivenesssettings. This calibration factor is then used in the forward loop todynamically calibrate the aggressiveness setting. The feedback ofrealized service-level error and the current margin entails a longereffective time-constant than does the calibration feedback.Consequently, appropriate dynamic adjustments for stability andcontrollability are isolated from direct adjustments for maintenance ofrestrictions on nuisance-call rates and maximization of agentutilization.

According to the invention, a method of controlling a predictive dialercomprises automatically determining a difference between a desiredreference service level and a service level realized by calls that wereinitiated by the predictive dialer, automatically adjusting thereference service level for error represented by the determineddifference, and automatically directing the predictive dialer to producethe adjusted reference service level. “Automatically” refers to theseactions being done without involvement therein of a person. Acorresponding apparatus comprises a predictive dialer for initiatingcalls and a feedback control for controlling operation of the predictivedialer through a first feedback loop that automatically determines adifference between a desired reference service level and a service levelrealized by calls that were initiated by the predictive dialer,automatically adjusts the reference service level for error representedby the determined difference, and automatically directs the predictivedialer to produce the adjusted reference service level.

Preferably, according to one aspect of the invention, the methodinvolves repeating the above-mentioned steps over a time andautomatically directing the predictive dialer to attenuate oscillationsof the realized service level or to compensate for systematic errors.(Compensating for systematic errors also tends to reduce oscillations.)Also preferably, automatically directing the predictive dialer toattenuate oscillations or compensate for systematic errors comprisesgenerating a calibration factor that is a function of the adjustedservice levels which the predictive dialer was directed to produce overa time and a number of nuisance calls among the calls initiated by thepredictive dialer over the time, and automatically directing thepredictive dialer to produce the adjusted reference service levelmodified by the calibration factor. Generating a calibration factorillustratively comprises generating a ratio of (a) a sum of complementsof said adjusted service levels modified by corresponding calibrationfactors and (b) the number of the nuisance calls. More specifically,generating a calibration factor illustratively comprises generating aratio of (a) a sum of nuisance-call service levels modified bycorresponding calibration factors and (b) the number of the nuisancecalls, wherein each nuisance-call service level complements and variesinversely with a corresponding said adjusted service level, andautomatically directing the predictive dialer comprises automaticallydirecting the predictive dialer to produce a nuisance-call levelcorresponding to the adjusted reference service level and modified bythe calibration factor.

Preferably, according to another aspect of the invention, the methodinvolves repeating the initially-mentioned steps over time, andautomatically directing the predictive dialer to keep oscillations ofthe realized service level above the reference service level. Alsopreferably, automatically directing the predictive dialer to keeposcillations of the realized service level above the reference servicelevel comprises automatically determining over the time a margin bywhich calls initiated by the predictive dialer that are answered bypersons (hits) and that are not nuisance calls (successes) exceedsuccesses required over the time to achieve the reference service level,and varying a size of adjustment that the automatically adjusting thereference service level for the error makes in the reference servicelevel, in direct relation to a size of the margin. Preferably accordingto this aspect of the invention, the method involves automaticallydetermining a second difference between a number of calls initiated bythe dialer that are answered by persons (hits) and that are not nuisancecalls (successes) and a number of successes required to achieve thereference service level, and automatically adjusting the error for thesecond difference; wherein automatically adjusting the reference servicelevel for error comprises automatically adjusting the reference servicelevel for the adjusted error.

According to a third aspect of the invention, the method furtherinvolves repeating the initially-mentioned steps over time, andautomatically directing the predictive dialer to compensate for realizednuisance-call rates relative to dialing aggressiveness settings of thepredictive dialer. This preferably involves generating a gain factorthat is a function of the adjusted reference service levels which thepredictive dialer was directed to produce over a time and a number ofnuisance calls among the calls initiated by the predictive dialer overthe time, and automatically directing the predictive dialer to producethe adjusted reference service level compensated by the gain factor. Thegain factor is preferably a ratio of (a) a sum of complements of theadjusted reference service levels compensated by corresponding said gainfactors, and (b) the number of the nuisance calls. Alternatively, thegain factor is a ratio of (a) a sum of adjusted nuisance-call levels and(b) the number of the nuisance calls, wherein each adjustednuisance-call level complements and varies inversely with acorresponding said adjusted reference service level, and automaticallydirecting the predictive dialer to produce the adjusted referenceservice level compensated by the gain factor involves automaticallydirecting the predictive dialer to produce a nuisance-call levelcorresponding to the adjusted reference service level and compensated bythe gain factor.

According to a fourth aspect of the invention, a method of controlling apredictive dialer comprises repeatedly causing the predictive dialer toadjust its initiating of calls for a difference between a desiredreference service level and a service level realized by calls that wereinitiated by the predictive dialer, repeatedly causing the predictivedialer to adjust the initiating of calls so as to compensate forrealized nuisance-call rates relative to dialing aggressiveness settingsof the predictive dialer, and repeatedly causing the predictive dialerto adjust the initiating of calls so that oscillations of the realizedservice level remain above the reference service level. A correspondingapparatus comprises a predictive dialer for initiating calls and afeedback control for controlling operation of the predictive dialer,comprising a first feedback loop that repeatedly causes the predictivedialer to adjust its initiating of calls for a difference between adesired reference service level and a service level realized by callsthat were initiated by the predictive dialer, repeatedly causes thepredictive dialer to adjust the initiating of calls so as to compensatefor realized nuisance-call rates relative to dialing aggressivenesssettings of the predictive dialer, and repeatedly causes the predictivedialer to adjust the initiating of calls so that oscillations of therealized service level remain above the reference service level.

According to a fifth aspect of the invention, a method of controlling apredictive dialer comprises repeatedly causing the predictive dialer toadjust its initiating of calls for a difference between a desiredreference service level and a service level realized by calls that wereinitiated by the predictive dialer, repeatedly causing the predictivedialer to adjust the initiating of calls so as to damp oscillations ofthe realized service level or compensate for systematic errors, andrepeatedly causing the predictive dialer to adjust the initiating ofcalls so that oscillations of the realized service level remain abovethe reference service level. A corresponding apparatus comprises apredictive dialer for initiating calls and a feedback control forcontrolling operation of the predictive dialer, comprising a firstfeedback loop for repeatedly causing the predictive dialer to adjust theinitiating of calls for a difference between a desired reference servicelevel and a service level realized by calls that were initiated by thepredictive dialer, a second feedback loop for repeatedly causing thepredictive dialer to adjust the initiating of calls so as to attenuateoscillations of the realized service level or compensate for systematicerrors, and a third feedback loop for repeatedly causing the predictivedialer to adjust the initiating of calls so that oscillations of therealized service level remain above the reference service level.Preferably, the method comprises determining a realized service levelcorresponding to a ratio of a number of calls initiated over a time bythe predictive dialer that are answered by a person (hits) and a numberof the hits that are not nuisance calls (successes), determining ascaled first difference between a desired reference service level andthe realized service level, determining a scaled second differencebetween the number of successes and a number of successes required toachieve the reference service level, adjusting the reference servicelevel for the scaled first difference and the scaled second differenceto yield a presently-desired service level, determining a calibrationfactor corresponding to a ratio of (a) a sum over a time ofpresently-desired nuisance-call levels modified by the calibrationfactor, wherein the presently-desired nuisance-call levels over the timecorrespond to and complement the presently-desired service levels overthat time, and (b) a sum over the time of the nuisance calls, modifyingthe presently-desired nuisance-call level corresponding to thepresently-desired service level by the calibration factor to obtain acalibrated said presently-desired nuisance-call level, and directing thepredictive dialer to produce a calibrated presently-desired servicelevel corresponding to the calibrated presently-desired nuisance-calllevel. A corresponding apparatus comprises a predictive dialer forinitiating calls, and a feedback control for controlling operation ofthe predictive dialer, that determines a realized service levelcorresponding to a ratio of a number of calls initiated over a time bythe predictive dialer that are answered by a person (hits) and a numberof the hits that are not nuisance calls (successes), determines a scaledfirst difference between a desired reference service level and therealized service level, determines a scaled second difference betweenthe number of successes and a number of successes required to achievethe reference service level, adjusts the reference service level for thescaled first difference and the scaled second difference to yield apresently-desired service level, determines a calibration factorcorresponding to a ratio of (a) a sum over a time of presently-desirednuisance-call levels modified by the calibration factor, wherein thepresently-desired nuisance-call levels over the time correspond to andcomplement the presently-desired service levels over the time, and (b) asum over the time of the nuisance calls, modifies the presently-desirednuisance-call level corresponding to the presently-desired service levelby the calibration factor to obtain a calibrated said presently-desirednuisance-call level, and directs the predictive dialer to produce acalibrated presently-desired service level corresponding to thecalibrated presently-desired nuisance-call level.

The feedback system illustratively functions even without detailedknowledge of the basic predictive dialing method. It adapts to changingconditions, it compensates for simplifications in the basic predictivedialing model, and it compensates for unsystematic behavior in theagents and the called population.

The invention preferably favors achieving a target service-level overachieving a balance between the service level and agent utilization. Itconsiders the service-level constraint to be of the utmost importancewith respect to the control of the aggressiveness of the predictivedialer. While it supports the realization of high service-levels andhigh utilization simultaneously, it preferably maximizes agentutilization only within the constraint of the target service-level beingachieved.

The invention may be used to improve customer service and reduce theburden on supervision in call centers. It can be employed to enable callcenters to meet stringent regulatory limits or even prohibitions onnuisance calls. The invention eliminates the need for manualinterventions in the performance of a predictive dialer and eliminateswasted sustained excessively-conservative performance of the dialer. Ittakes advantage of existing predictive-dialing arrangements whileenhancing the performance that they deliver.

The invention includes both a method as well as a correspondingapparatus for performing the method, and a computer-readable medium thatcontains instructions which, when executed in a computer, cause thecomputer to perform the method. The apparatus preferably includes aneffector—any entity that effects the corresponding steps, unlike ameans—for each method step.

BRIEF DESCRIPTION OF THE DRAWING

These and other features and advantages of the invention will becomemore apparent from the following description of an illustrativeembodiment of the invention considered together with the drawing, inwhich:

FIG. 1 is a block diagram of a call center that includes an illustrativeembodiment of the invention; and

FIG. 2 is a block diagram of a feedback control system of a predictivedialer of the call center of FIG. 1

DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT

Reference will now be made in detail to the illustrative embodiment ofthe invention, which is illustrated in the accompanying drawing. Whilethe invention will be described in conjunction with the illustrativeembodiment, it will be understood that it is not intended to limit theinvention to this embodiment. On the contrary, the invention is intendedto cover alternatives, modifications, and equivalents, which may beincluded within the invention as defined by the appended claims.

FIG. 1 shows an illustrative call center 100 for servicing inbound andoutbound calls. Call center 100 comprises an automatic call distributor(ACD) 104 that interconnects agent positions 130-140 via calls with theoutside world to which it is connected by communications trunks 102. ACD104 includes a switching fabric 116 that selectively interconnectstrunks 102 with communications lines 106 that extend to agent positions130-140. ACD 104 is a stored program-controlled apparatus that operatesunder control of a processor 112 that obtains and stores data in, andexecutes stored programs out of, memory 110 or any othercomputer-readable medium. Programs in memory 110 include a callclassifier which analyzes the signals on a call connection todistinguish control signals from other signals (e.g., voice, music) andto determine their meaning. Data in memory 110 include historical andoperational data of ACD 104 and agents 156, which are stored in a callmanagement system (CMS) 120 database. Processor 112 controls operationof switching fabric 116 and of a dialer 114 that generates outgoingcalls on trunks 102 through switching fabric 116. Each agent position130-140 includes a terminal 152, such as a personal computer, and avoice communications device, such as a telephone or a headset 154, foruse by an agent 156. As described so far, call center 100 isconventional.

For purposes of the following discussion, a call, whether incoming oroutgoing, constitutes a task to be served, and an agent position 130-140that is presently staffed by an agent 156 constitutes a resource forserving tasks.

According to an illustrative embodiment the invention, memory 110 of ACD104 includes an adaptive feedback function 122. Function 122 couldalternatively be included and executed either in dialer 114 or on anadjunct processor (not shown) connected to ACD 104. While implemented insoftware in the illustrative embodiment of FIG. 1, function 122 couldlikewise be implemented in hardware or firmware.

Function 122 together with ACD 104 implements an adaptive feedbacksystem 200 shown in FIG. 2. In FIG. 2, call initiator 224 representsdialer 114 of FIG. 1, telephone system 228 is partly represented in FIG.1 by switching fabric 116 and trunks 102, call progress analyzer 232represents call classifier 124 of FIG. 1, and ACD 238 represents ACD 104of FIG. 1. The remainder of FIG. 2 represents function 122. Function 122is preferably executed before performing any new call initiation.

This diagram represents conceptual and parametric elements of system200. Each block represents a transfer function that processes its inputto produce an output as in a classical block diagram for a feedbackcontrol system.

System 200 illustratively consists of four main parts 320-326. A forwardpath 320 feeds an input that is representative (a function) of thedesired minimum service level to predictive dialer 114. This inputaffects the operation of predictive dialer 114 with a view to achievingthe desired minimum service level. A service level feedback loop 322feeds a correction for the error in the service-level realized by thesystem of FIG. 1 back into forward path 320. The service-level error isrepresentative of the difference between the desired minimum servicelevel and the realized service level.

Service-level feedback loop 322 may cause the realized service level toconverge to the desired service level over time, but then over shortperiods of time, it is unstable, causing oscillations of the realizedservice level. A calibration feedback loop 326 provides attenuation ofthose oscillations. The amount of attenuation exerted by loop 326 is afunction of the ratio of (a) the (smoothed) sum of nuisance-call level(i.e., the ratio of the number nuisance calls and the number of callsanswered by a live party (hits)) over a time and (b) the (smoothed) sumof nuisance calls realized by the system of FIG. 1 over that time.

Contrariwise, service-level feedback loop 322 may fail to cause anysubstantial movement of the realized service level toward the desiredservice level due to systematic error in the aggressiveness of thedialer. Calibration feedback loop 326 provides compensation for thatsystematic error in the dialer. A systematic error is a bias in thesystem; it is a persistent error that is not determined by chance but isintroduced by an inaccuracy inherent in the system. The amount ofcompensation exerted by loop 326 for systematic error is also a functionof the ratio of (a) the (smoothed) sum of nuisance-call levels over atime and (b) the (smoothed) sum of nuisance calls realized by the systemof FIG. 1 over that time.

While feedback loops 322 and 326 cause the realized service level totend toward the desired service level, they do not ensure that therealized service level does not fall below the desired service level andthey do not ensure that the realized service level converges to thedesired service level. This is the function of a margin feedback loop324. Margin feedback loop 324 provides feedback into forward loop 320 asa function of the amount, referred to as the “margin of success,” bywhich the actual number of non-nuisance hits (successes) realized overtime differs from the number of successes needed to just meet thedesired service level.

Forward Path 320

The forward path of system 200 begins with the input of a referenceservice level S_(ref) 202. S_(ref) is the minimum acceptable ratio ofthe number of calls that are answered by a live party and immediatelyconnected to an agent to the total number of calls that are answered bya live party. Another way of expressing S_(ref) is one minus the maximumacceptable ratio of nuisance calls to the total number of calls that areanswered by a live party. Reference service level 202 is the minimumacceptable realized service level. It is the specified desired servicelevel against which system 200 compares its realized service level todetermine the magnitude and direction of service-level errors. Anoperator of the system of FIG. 1 sets the value of S_(ref) 202 for aparticular calling job (“campaign”) based on policies and regulationsthat may depend upon the type of calling job, including the reason forthe calls and the characteristics of the called population. S_(ref) 202is usually expressed as a value without units, less than 1 and greaterthan zero. Typically, it would be close to 0.99. System 200 considers itto be constant.

S_(ref) 202 is decremented by an aggregate feedback value S_(fb) 314 ata summing block 204 to obtain a command service level S_(c) 206. S_(c)206 is an adjusted service level, the presently-desired service levelfor future call initiations. S_(c) 206 is usually expressed as a valuewithout units, less than 1 and greater than zero. S_(c) 206 varies withchanges in realized service level and the margin of success. In order toavoid a computed command service level of greater than 1, S_(c) 206 canbe determined by

$S_{c} = {{1 - {\frac{\left( {1 - S_{ref}} \right)^{2}}{1 - S_{ref} - S_{fb}}\mspace{14mu}{when}\mspace{14mu} S_{fb}}} < 0.}$

Command service level S_(c) 206 is subtracted from a value of one at asumming block 208 to obtain a command queue rate r_(c) 210. r_(c) 210 isthe presently-desired nuisance-call level, i.e., a ratio of nuisancecalls to hits. r_(c) 210 is the complement of command service levelS_(c) 206. If the actually realized service level exceeds S_(ref) 202,then r_(c) 210 needs to be increased; if S_(ref) 202 exceeds therealized service level, then r_(c) 210 needs to be decreased. r_(c) 210is usually expressed as a value without units, less than 1 and greaterthan zero. It varies with changes in the realized service level.

Command queue rate r_(c) 210 is modified by a calibration factor K_(cal)258 at a multiplier block 212 to obtain an adjusted queue rate r_(d)214. K_(cal) 258 is the calibration factor for recently-realized ratesof nuisance calls compared with commanded rates of nuisance calls toattenuate oscillations of the realized service level or to compensatefor systematic error in the dialing aggressiveness of the predictivedialer. K_(cal) 258 is usually expressed as a value without unitsgreater than zero. It varies with changes in realized service level andnuisance-call rates.

Adjusted queue rate r_(d) 214 is converted into a dialing aggressivenessratio r_(a) 222 by a gain transfer function 220. A gain factor K₁ offunction 220 is a scaling factor that transforms the adjusted queue rater_(d) 214 into the dialing aggressiveness ratio r_(a) 222 that isunderstood by call initiator 224 (the basic predictive dialer 114). K₁is greater than zero. It should be one in the case where dialer 114accepts an aggressiveness setting that represents a nuisance-call rateor that represents the probability of a nuisance call. The gain factorK₁ can be determined by a more complicated transfer function appropriateto a particular dialer 114. However, that is not necessary for feedbacksystem 200 to work.

A predictive dialer uses the aggressiveness ratio to determine when toinitiate new call attempts. A predictive dialer's aggressiveness ratiosets a measure for controlling agent utilization, for controllingavailability of agents to handle called parties, or for balancingbetween agent utilization and agent availability. The aggressivenessratio can be a ratio of time durations or a ratio of counts or aprobability or a percentile or some other unit-less measure. A value ofzero is the least aggressive (least agent utilization), while a value of1 is the most aggressive.

In one implementation of a predictive dialer, the aggressiveness ratiogives a percentile of agent time spent handling a call or wrapping up acall. For dialing based on handle time, the dialer automatically buildsa histogram of time durations for handling calls. The dialer determinesa percentile by subtracting the aggressiveness ratio from one, and thenit determines at what point on the time axis the cumulative histogramevaluates to the percentile value. That time value gives the triggertime for considering that the agent will be available. When any agenthas been handling a call for longer than that amount of time, the agentis considered to be already available. Similarly, for dialing based onwrap-up time, the dialer builds a histogram of time duration forwrapping up calls, determines the percentile by subtracting theaggressiveness ratio from one, and then determines at what time a valueof the cumulative wrap-up time histogram evaluates to the percentile.When any agent has been wrapping up a call for longer than that triggertime, the agent is considered to be already available. Anotherimplementation of a predictive dialer uses a probability that no agentwill be available to connect to a call when a live party answers.

Another implementation of a predictive dialer uses as the aggressivenessratio a ratio of the expected wait-time for called parties to the sum ofthe expected wait-time for agents and the expected wait-time for calledparties in an effort to establish a balance between agent idle-time andcall queue-time. Yet another predictive dialer implementation uses theaggressiveness ratio to adjust the hit rate. When the aggressivenessratio is one, the hit rate is taken at face value, and as theaggressiveness ratio approaches zero, the hit rate is taken as one. Theformula Kr+1−K gives the adjusted hit rate where r is the measured hitrate and K is the aggressiveness ratio.

Dialing aggressiveness ratio r_(a) 222 is the input to call initiator224. As was already mentioned, call initiator 224 is the predictivedialer 114. r_(a) 222 should be identical to the adjusted command queuerate r_(d) 214 in the case where call initiator 224 accepts anaggressiveness setting that represents a nuisance-call rate or aprobability of a nuisance call. Call initiator 224 uses aggressivenessratio r_(a) 222 to determine when to initiate new call attempts. Thereare a variety of other parameters and characteristics that it uses thatare external and unrelated to feedback control system 200. The output ofcall initiator 224 at any time is either nothing or a command 226 to atelephone system 228 (e.g., switching fabric 116 of FIG. 1) to initiatea telephone call. Call initiator 224 is a part of the plant undercontrol.

Telephone system 228 responds to call attempt command 226 in aconventional manner by initiating and routing a call from ACD 104 ofFIG. 1 to a called party. Called parties are considered to be part oftelephone system 228 for the purpose of FIG. 2. Telephone system 228 canbe a data network or use elements of a data network such as theInternet. Telephone system 228 is a part of the plant under control.Telephone system 228 generates call results 230. Call results 230 arethe net result of the call attempt With regard to whether the callrequires connection to an agent or whether the call should beterminated. For example, a “calling party busy” result would not requireconnection to an agent. Voice detection by call classifier 124 of FIG. 1could possibly require an agent, while a detection of a live calleranswer (not an answering machine) normally always requires connection toan agent.

A call progress analyzer 232 (e.g., the call classifier 124 of FIG. 1)listens to the call attempt to determine when and if there is an answeror other result and to dynamically classify the result. Specifically,call progress analyzer 232 determines whether or not the call resultedin a hit (a call answer that requires connection of the call to anagent) or a miss (not needing connection to an agent), and generates acorresponding output signal 234 or 236, respectively. Call progressanalyzer 232 does this quite quickly so as not to lose a called partybefore an agent 130-140 can begin conversation with the called party.Call progress analyzer 232 is a part of the plant under control.

While feedback system 200 does not process misses 236, they would beused in predictive dialer 114 to determine hit rates and to determine ifthe failed attempt should be replaced by a new attempt. In contrast,feedback system 200 does process hits 234. Hits 234 are input to ACD238. ACD 238 matches hits with agents 130-140 and connects agents130-140 to the called parties. It typically maintains a queue of waitingagents 130-140, and may maintain a queue of waiting called parties. ACD238 detects instances of calls that are distributed to agents 130-140without too much delay and also detects instances of calls that aredistributed too late or that are abandoned either by the system or bythe called party. ACD 238 is a part of the plant under control. ACD 238generates a discrete output Y_(r) 240 that is zero when the result of ahit 234 is a nuisance call and that is one when the result of a hit 234is not a nuisance call.

Service Level Feedback Loop 322

The purpose of the service level feedback loop is to steer the realizedservice level above yet toward the minimum acceptable service levelS_(ref) 202, i.e., to cause convergence of the realized service level toS_(ref) 202.

The feedback loop uses Y_(r) 240 to compute a number of successes N_(s)282 at a transfer function 280. Number of successes N_(s) 282 is thesimple sum of the values of instances of Y_(r) 240. It is the number oftimes that the system distributed calls to agents 130-140 withoutexcessive delay. Transfer function 280 is expressed as

$\frac{1}{1 - z^{- 1}}$because it is a z-transform representing a generator of the sum ofdiscrete values. System 200 should initialize N_(s) 282 to zero or tothe value of the product of S_(ref) 202 and the initial value of thenumber of hits N 272, as described below.

Returning to block 232, not only are hits 234 input to ACD 238, they arealso input to a transfer function 270 where each hit increments a totalnumber of hits N 272 realized so far in the calling job. Number of hitsN 272 is incremented at the same time as the call distribution resultY_(r) 240 is processed. Number of hits N 272 is incremented when thecall is distributed to an agent 130-140 or when it is determined to be anuisance call. Transfer function 270 is expressed as

$\frac{1}{1 - z^{- 1}}$because it is a z-transform representing a generator of the sum ofdiscrete values. System 200 should initialize N 272 to a small valuegreater than zero, such as one. This enables a later division that wouldotherwise prove to be impossible. However, the initial value of thisparameter relative to the initial value of number of successes N_(s) 282can introduce a bias in the computation of the realized service level.

Number of success N_(s) 282 is divided by number of hits N 272 at block300 to obtain a cumulative realized service level S 302. This is theservice level that is actually being achieved by the system of FIG. 1.This ratio may be biased somewhat depending upon initial values chosenfor the number of hits N 272 and the number of successes N_(s) 282.Alternatively, system 200 could designate the value of the service levelwhere the number of hits N 272 is zero and in the case where there is azero initial value for the number of hits N 272. Typically, thisdesignated value of S 302 would be made equal to the value of minimumservice level S_(ref) 202.

Minimum service level S_(ref) 202 is subtracted from the cumulativerealized service level S 302 at summing block 304 to obtain the servicelevel error S_(e) 306. Gain factor K₂ is then applied to S_(e) 306 atblock 308 to obtain a service level error feedback value S_(ef) 310.Gain factor K₂ is a scaling factor that is applied to service levelerror S_(e) 306 to compensate for the error in realized service levelfor future call initiations. K₂ can vary with different parameters. Forexample, it could be four when service level error S_(e) 306 is notpositive, and it could be 0.5 when service level error S_(e) 306 ispositive. It could gradually increase with the number of successes inexcess of the product of the number of hits N 272 and S_(ref) 202 so asto gradually reduce the cumulative error in service level to approachthe reference service level S_(ref) 202. The output S_(ef) 310 is thefeedback for service level error, which is a component of the feedbackcompensation into the forward loop.

Margin Feedback Loop 324

The purpose of the margin feedback loop of system 200 is to force therealized service level to converge over time to the minimum-acceptable,reference, service level S_(ref) 202, while precluding the realizedservice level from dropping below the reference service level.

The margin feedback loop multiples S_(ref) 202 by the number of hits N272 at a multiplier block 274 and subtracts the result NS_(ref) 276 fromthe number of successes N_(s) 282 at a summing block 284 to obtain amargin of success M_(s) 286. M_(s) 286 is the excess number ofsuccessful distributions of calls to agents over the number required tomeet the service level S_(ref) 202 for the current number of hits. M_(s)286 is computed as the number of successes N_(s) 282 less the productNS_(ref) 276 of the number of hits N 272 and the reference service levelS_(ref) 202. M_(s) 286 is an error to be controlled in order to reducecumulative service level error close to the reference service levelS_(ref) 202. M_(s) 286 changes by 1−S_(ref) for each success and changesby −S_(ref) for each call that does not meet the criterion for a gooddistribution to an agent.

A gain factor K₃ is applied to M_(s) 286 at block 288 to obtain a marginfeedback M_(f) 290. Margin feedback M_(f) 290 is the product of a gainfactor K₃ and M_(s) 286. Gain factor K₃ determines the compensationcommensurate with M_(s) 286 for the error in the number of successes. Toavoid oscillations, this factor should be much less than the granularitydesired in controlling the realized service level. For example, when onewants to control service level to 0.1% accuracy or magnitude of error,then K₃ could be 0.0001.

M_(f) 290 is summed with service level error feedback S_(ef) 310 at asumming block 312 to yield aggregate feedback S_(fb) 314. S_(fb) 314feeds into the forward loop at summing block 204 to affect the commandservice level S_(c) 206.

Queue Rate Calibration Feedback Loop 326

The purpose of the calibration feedback loop of system 200 is to adaptthe commanded queue rate r_(c) 210 based on realized results comparedwith command inputs to compensate for bias and other systematic errorsin the predictive dialer and possibly attenuate oscillations in therealized service level.

Y_(r) 240 is subtracted from one at summing block 244 to yield Y _(r)246. The feedback loop uses Y _(r) 246 to compute a smoothed number ofnuisance calls Y_(s) 250 at a transfer function 248. Smoothed number ofnuisance calls Y_(s) 250 is a sum of discrete weighted instances of theoccurrence of nuisance calls wherein for each instance of a nuisancecall a one is accumulated, and for each instance of a “success” a zerois accumulated. Furthermore, each time an instance is accumulated, theprevious sum is discounted by multiplying by the smoothing constantalpha (α). Consequently, at instance n, the previous instance n-m has aweight of α^(m) while the current instance n has a weight of one. Theprocess progressively discounts instances with age. Transfer function248 is expressed as

$\frac{1}{1 - {\alpha z}^{- 1}}$because it is a z-transform representing a generator of theexponentially-smoothed sum of discrete values. System 200 shouldinitialize Y_(s) 250 to a value much greater than the reciprocal of thegranularity desired for control of the service level. For example, ifone wants to control to a service level greater than 0.99, then theinitial value of Y_(s) 250 should be about

$\frac{1}{1 - 0.99} = 100.$

The smoothing constant a is less than one and greater than zero.Generally, it should be greater than the square root of the referenceservice level S_(ref) 202, i.e. 1>α>√{square root over (S_(ref))}. Inaddition, it should have an instance half-life at least as big as theagent pool, i.e. 1>α2^(−n) ⁻¹ where n is the number of agents 130-140 inthe pool. One might also want the smoothing constant to increase withthe volume of calls processed. A suggested value is α=2 to the power(−1/(n+(8/(1−S_(ref))))) where n is the cumulative number of hitsexperienced in the campaign. For example, with

${S_{ref} = {{0.99\mspace{14mu}{and}\mspace{14mu} n} = 0}},{\frac{8}{1 - S_{ref}} = {\frac{8}{1 - 0.99} = {\frac{8}{0.01} = 800}}},$so the smoothing constant is

$\alpha = {2^{\frac{1}{800}} = {2^{- 0.00125} = {\frac{1}{2^{0.00125}} = {\frac{1}{1.00086681} = {0.999134.}}}}}$Alternatively, n may be the number of agents 130-140.

Adjusted queue rate r_(d) 214 is used to compute a smoothed sum ofadjusted queue rates Q_(s) 254 at a transfer function 252. Values ofr_(d) 214 are sampled when a call is initiated and they are accumulatedwhen the associated connect demand is classified as a nuisance or asuccess (i.e., when the associated call result is accumulated into thesmoothed number of nuisance calls). Furthermore, each time a sample isaccumulated, the previous sum is discounted by multiplying by thesmoothing constant α. Consequently, at instance n, the previous instancen-m has a weight of α^(m) while the current instance n has a weight ofone. The process progressively discounts the samples with age. α atblock 252 is identical to α at block 248. Transfer function 252 isexpressed as

$\frac{1}{1 - {\alpha z}^{- 1}}$because it is a z-transform representing a generator of theexponentially-smoothed sum of discrete values. For unbiased initialbehavior, the system should initialize Q_(s) 254 to the same value asthe initial value of Y_(s) 250.

Q_(s) 254 is divided by Y_(s) 250 at division block 256 to obtain acalibration ratio K_(cal) 258. K_(cal) 258 is fed back into the forwardloop at multiplication block 212.

Of course, various changes and modifications to the illustrativeembodiment described above will be apparent to those skilled in the art.These changes and modifications can be made without departing from thespirit and the scope of the invention and without diminishing itsattendant advantages. It is therefore intended that such changes andmodifications be covered by the following claims except insofar aslimited by the prior art.

1. A method of controlling a predictive dialer, comprising:automatically determining a difference between a desired referenceservice level and a service level realized by calls that were initiatedby the predictive dialer; automatically adjusting the reference servicelevel for error represented by the determined difference; andautomatically directing the predictive dialer to produce the adjustedreference service level, to converge the realized service level to thedesired reference service level.
 2. The method of claim 1 furthercomprising: repeating the steps of claim 1 over a time; andautomatically directing the predictive dialer to attenuate oscillationsof the realized service level or to compensate for systematic errors. 3.The method of claim 2 wherein: automatically directing the predictivedialer to attenuate oscillations or to compensate for systematic errorscomprises generating a calibration factor that is a function of theadjusted service levels which the predictive dialer was directed toproduce over a time and a number of nuisance calls among the callsinitiated by the predictive dialer over the time, and automaticallydirecting the predictive dialer to produce the adjusted referenceservice level modified by the calibration factor.
 4. The method of claim3 wherein: generating a calibration factor comprises generating thecalibration factor as a ratio of (a) a sum of complements of theadjusted service levels modified by corresponding said calibrationfactors and (b) the number of the nuisance calls.
 5. The method of claim3 wherein: generating a calibration factor comprises generating thecalibration factor as a ratio of (a) a sum of nuisance-call servicelevels modified by corresponding calibration factors and (b) the numberof the nuisance calls, wherein each nuisance-call service levelcomplements and varies inversely with a corresponding said adjustedservice level, and automatically directing the predictive dialercomprises automatically directing the predictive dialer to produce anuisance-call level corresponding to the adjusted reference servicelevel and modified by the calibration factor.
 6. The method of claim 1further comprising: repeating the steps of claim 1 over time, andautomatically directing the predictive dialer to keep oscillations ofthe realized service level above the reference service level.
 7. Themethod of claim 6 wherein: automatically directing the predictive dialerto keep oscillations of the realized service level above the referenceservice level comprises automatically determining over the time a marginby which calls initiated by the predictive dialer that are answered bypersons (hits) and that are not nuisance calls (successes) exceedsuccesses required over the time to achieve the reference service level,and varying a size of adjustment, that the automatically adjusting thereference service level for the error makes in the reference servicelevel, in direct relation to a size of the margin.
 8. The method ofclaim 1 further comprising: automatically determining a seconddifference between a number of calls initiated by the dialer that areanswered by persons (hits) and that are not nuisance calls (successes)and a number of successes required to achieve the reference servicelevel, and automatically adjusting the error for the second difference;wherein automatically adjusting the reference service level for errorcomprises automatically adjusting the reference service level for theadjusted error.
 9. The method of claim 1 further comprising: repeatingthe steps of claim 1 over a time; and automatically directing thepredictive dialer to compensate for realized nuisance-call ratesrelative to dialing aggressiveness settings of the predictive dialer.10. The method of claim 9 wherein: automatically directing thepredictive dialer to compensate for realized nuisance-call ratesrelative to the dialing aggressiveness settings comprises generating again factor that is a function of the adjusted reference service levelswhich the predictive dialer was directed to produce over a time and anumber of nuisance calls among the calls initiated by the predictivedialer over the time, and automatically directing the predictive dialerto produce the adjusted reference service level compensated by the gainfactor.
 11. The method of claim 10 wherein: generating a gain factorthat is a function of the adjusted reference service levels and a numberof nuisance calls comprises generating the gain factor that is a ratioof (a) a sum of complements of the adjusted reference service levelscompensated by corresponding said gain factors and (b) the number of thenuisance calls.
 12. The method of claim 10 wherein: generating the gainfactor that is a function of the adjusted reference service levels and anumber of nuisance calls comprises generating the gain factor as a ratioof (a) a sum of adjusted nuisance-call levels and (b) the number of thenuisance calls, wherein each adjusted nuisance-call level complementsand varies inversely with a corresponding said adjusted referenceservice level, and automatically directing the predictive dialer toproduce the adjusted reference service level compensated by the gainfactor comprises automatically directing the predictive dialer toproduce a nuisance-call level corresponding to the adjusted referenceservice level and compensated by the gain factor.
 13. A method ofcontrolling a predictive dialer comprising: repeatedly causing thepredictive dialer to adjust its initiating of calls for a differencebetween a desired reference service level and a service level realizedby calls that were initiated by the predictive dialer; repeatedlycausing the predictive dialer to adjust the initiating of calls so as tocompensate for realized nuisance-call rates relative to dialingaggressiveness settings of the predictive dialer; and repeatedly causingthe predictive dialer to adjust the initiating of calls so thatoscillations of the realized service level remain above the referenceservice level.
 14. A method of controlling a predictive dialercomprising: repeatedly causing the predictive dialer to adjust itsinitiating of calls for a difference between a desired reference servicelevel and a service level realized by calls that were initiated by thepredictive dialer, to converge the realized service level to the desiredreference service level; repeatedly causing the predictive dialer toadjust the initiating of calls so as to attenuate oscillations of therealized service level or to compensate for systematic errors; andrepeatedly causing the predictive dialer to adjust the initiating ofcalls so that oscillations of the realized service level remain abovethe reference service level.
 15. A method of controlling a predictivedialer comprising: determining a realized service level corresponding toa ratio of a number of calls initiated over a time by the predictivedialer that are answered by a person (hits) and a number of the hitsthat are not nuisance calls (successes); determining a scaled firstdifference between a desired reference service level and the realizedservice level; determining a scaled second difference between the numberof successes and a number of successes required to achieve the referenceservice level; adjusting the reference service level for the scaledfirst difference and the scaled second difference to yield apresently-desired service level; determining a calibration factorcorresponding to a ratio of (a) a sum over a time of presently-desirednuisance-call levels modified by the calibration factor, wherein thepresently-desired nuisance-call levels over the time correspond to andcomplement the presently-desired service levels over that time, and (b)a sum over the time of the nuisance calls; modifying thepresently-desired nuisance-call level corresponding to thepresently-desired service level by the calibration factor to obtain acalibrated said presently-desired nuisance-call level; and directing thepredictive dialer to produce a calibrated presently-desired servicelevel corresponding to the calibrated presently-desired nuisance-calllevel.
 16. A computer-readable medium containing executable instructionswhich, when executed in a computer, cause the computer to perform themethod of: determining a difference between a desired reference servicelevel and a service level realized by calls that were initiated by apredictive dialer; adjusting the reference service level for errorrepresented by the determined difference; and directing the predictivedialer to produce the adjusted reference service level, to converge therealized service level to the desired reference service level.
 17. Themedium of claim 16 wherein: the method further comprises repeating overa time the steps recited in claim 16; and directing the predictivedialer to attenuate oscillations of the realized service level or tocompensate for systematic errors.
 18. The medium of claim 17 wherein:directing the predictive dialer to attenuate oscillations or tocompensate for systematic errors comprises generating a calibrationfactor that is a function of the adjusted service levels which thepredictive dialer was directed to produce over a time and a number ofnuisance calls among the calls initiated by the predictive dialer overthe time, and directing the predictive dialer to produce the adjustedreference service level modified by the calibration factor.
 19. Themedium of claim 18 wherein: generating a calibration factor comprisesgenerating the calibration factor as a ratio of (a) a sum of complementsof the adjusted service levels modified by corresponding saidcalibration factors and (b) the number of the nuisance calls.
 20. Themedium of claim 18 wherein: generating a calibration factor comprisesgenerating the calibration factor as a ratio of (a) a sum ofnuisance-call service levels modified by corresponding calibrationfactors and (b) the number of the nuisance calls, wherein eachnuisance-call service level complements and varies inversely with acorresponding said adjusted service level, and directing the predictivedialer comprises directing the predictive dialer to produce anuisance-call level corresponding to the adjusted reference servicelevel and modified by the calibration factor.
 21. The medium of claim 16wherein: the method further comprises repeating over a time the stepsrecited in claim 16, and directing the predictive dialer to keeposcillations of the realized service level above the reference servicelevel.
 22. The medium of claim 21 wherein: directing the predictivedialer to keep oscillations of the realized service level above thereference service level comprises determining over the time a margin bywhich calls initiated by the predictive dialer that are answered bypersons (hits) and that are not nuisance calls (successes) exceedsuccesses required over the time to achieve the reference service level,and varying a size of adjustment, that the automatically adjusting thereference service level for the error makes in the reference servicelevel, in direct relation to a size of the margin.
 23. The medium ofclaim 16 wherein: the method further comprises determining a seconddifference between a number of calls initiated by the dialer that areanswered by persons (hits) and that are not nuisance calls (successes)and a number of successes required to achieve the reference servicelevel, and adjusting the error for the second difference; whereinadjusting the reference service level for error comprises adjusting thereference service level for the adjusted error.
 24. The medium of claim16 wherein: the method further comprises repeating over a time the stepsrecited in claim 16; and directing the predictive dialer to compensatefor realized nuisance-call rates relative to dialing aggressivenesssettings of the predictive dialer.
 25. The medium of claim 24 wherein:directing the predictive dialer to compensate for realized nuisance-callrates relative to the dialing aggressiveness settings comprisesgenerating a gain factor that is a function of the adjusted referenceservice levels which the predictive dialer was directed to produce overa time and a number of nuisance calls among the calls initiated by thepredictive dialer over the time, and directing the predictive dialer toproduce the adjusted reference service level compensated by the gainfactor.
 26. The medium of claim 25 wherein: generating a gain factorthat is a function of the adjusted reference service levels and a numberof nuisance calls comprises generating the gain factor that is a ratioof (a) a sum of complements of the adjusted reference service levelscompensated by corresponding said gain factors and (b) the number of thenuisance calls.
 27. The medium of claim 25 wherein: generating the gainfactor that is a function of the adjusted reference service levels and anumber of nuisance calls comprises generating the gain factor as a ratioof (a) a sum of adjusted nuisance-call levels and (b) the number of thenuisance calls, wherein each adjusted nuisance-call level complementsand varies inversely with a corresponding said adjusted referenceservice level, and directing the predictive dialer to produce theadjusted reference service level compensated by the gain factorcomprises directing the predictive dialer to produce a nuisance-calllevel corresponding to the adjusted reference service level andcompensated by the gain factor.
 28. An apparatus comprising: apredictive dialer for initiating calls; and a feedback control forcontrolling operation of the predictive dialer through a first feedbackloop that automatically determines a difference between a desiredreference service level and a service level realized by calls that wereinitiated by the predictive dialer, automatically adjusts the referenceservice level for error represented by the determined difference, andautomatically directs the predictive dialer to produce the adjustedreference service level, to converge the realized service level to thedesired reference service level.
 29. The apparatus of claim 28 wherein:the first feedback loop of the feedback control operates repeatedly overa time, and the feedback control further comprises a second feedbackloop that automatically directs the predictive dialer to attenuateoscillations of the realized service level or to compensate forsystematic errors.
 30. The apparatus of claim 29 wherein: the feedbackcontrol via the second feedback loop generates a calibration factor thatis a function of the adjusted service levels which the predictive dialerwas directed to produce over a time and a number of nuisance calls amongthe calls initiated by the predictive dialer over the time, andautomatically directs the predictive dialer to produce the adjustedreference service level modified by the calibration factor.
 31. Theapparatus of claim 29 wherein: the feedback control via the secondfeedback loop generates a calibration factor that is a ratio of (a) asum of complements of adjusted service levels which the predictivedialer was directed to produce over a time, modified by correspondingcalibration factors and (b) a number of nuisance calls among the callsinitiated by the predictive dialer over the time, and automaticallydirects the predictive dialer to produce the adjusted reference servicelevel modified by the calibration factor.
 32. The apparatus of claim 29wherein: the feedback control via the second feedback loop generates acalibration factor that is a ratio of (a) a sum of nuisance-call servicelevels which the predictive dialer was directed to produce over a time,modified by corresponding calibration factors, wherein eachnuisance-call service level complements and varies inversely with acorresponding adjusted service level, and (b) a number of nuisance callsamong the calls initiated by the predictive dialer over the time, andautomatically directs the predictive dialer to produce a nuisance-calllevel corresponding to the adjusted reference service level and modifiedby the calibration factor.
 33. The apparatus of claim 28 wherein: thefirst feedback loop operates repeatedly over a time, and the feedbackcontrol further comprises a second feedback loop that automaticallydirects the predictive dialer to keep oscillations of the realizedservice level relative to the reference service level above thereference service level.
 34. The apparatus of claim 33 wherein: thefeedback controller via the second feedback loop automaticallydetermines over a time a margin by which calls initiated by thepredictive dialer that are answered by persons (hits) and that are notnuisance calls (successes) exceed successes required over the time toachieve the reference service level, and varies, in direct relation to asize of the margin, a size of adjustment for the error that the firstfeedback loop makes in the reference service level.
 35. The apparatus ofclaim 28 wherein: the feedback control further controls the operation ofthe predictive dialer through a second feedback loop that automaticallydetermines a second difference between a number of calls initiated bythe dialer that are answered by persons (hits) and that are not nuisancecalls (successes) and a number of successes required to achieve thereference service level, and automatically adjusts the error for thesecond difference, and the feedback control adjusts the referenceservice level for the adjusted error.
 36. The apparatus of claim 28wherein: the first feedback loop of the feedback control operatesrepeatedly over a time, and the feedback control further comprises asecond feedback loop that automatically directs the predictive dialer tocompensate for realized nuisance-call rates relative to dialingaggressiveness settings of the predictive dialer.
 37. The apparatus ofclaim 36 wherein: the feedback control via the second feedback loopgenerates a gain factor that is a function of the adjusted referenceservice levels which the predictive dialer was directed to produce overa time and a number of nuisance calls among the calls initiated by thepredictive dialer over the time, and automatically directs thepredictive dialer to produce the adjusted reference service levelcompensated by the gain factor.
 38. The apparatus of claim 37 wherein:the gain factor is a ratio of (a) a sum of complements of the adjustedreference service levels compensated by corresponding said gain factorsand (b) the number of the nuisance calls.
 39. The apparatus of claim 37wherein: the gain factor is a ratio of (a) a sum of adjustednuisance-call levels and (b) the number of the nuisance calls, whereineach adjusted nuisance-call level complements and varies inversely witha corresponding said adjusted reference service level, and the feedbackcontrol automatically directs the predictive dialer to produce anuisance-call level corresponding to the adjusted reference servicelevel and compensated by the gain factor.
 40. An apparatus comprising: apredictive dialer for initiating calls; and a feedback control forcontrolling operation of the predictive dialer that repeatedly causesthe predictive dialer to adjust its initiating of calls for a differencebetween a desired reference service level and a service level realizedby calls that were initiated by the predictive dialer, repeatedly causesthe predictive dialer to adjust the initiating of calls so as tocompensate for realized nuisance-call rates relative to dialingaggressiveness settings of the predictive dialer, and repeatedly causesthe predictive dialer to adjust the initiating of calls so thatoscillations of the realized service level remain above the referenceservice level.
 41. An apparatus comprising: a predictive dialer forinitiating calls; and a feedback control for controlling operation ofthe predictive dialer, comprising a first feedback loop for repeatedlycausing the predictive dialer to adjust the initiating of calls for adifference between a desired reference service level and a service levelrealized by calls that were initiated by the predictive dialer so as toconverge the realized service level to the desired reference servicelevel; a second feedback loop for repeatedly causing the predictivedialer to adjust the initiating of calls so as to attenuate oscillationsof the realized service level or to compensate for systematic errors;and a third feedback loop for repeatedly causing the predictive dialerto adjust the initiating of calls so that oscillations of the realizedservice level remain above the reference service level.
 42. An apparatuscomprising: a predictive dialer for initiating calls; and a feedbackcontrol for controlling operation of the predictive dialer, thatdetermines a realized service level corresponding to a ratio of a numberof calls initiated over a time by the predictive dialer that areanswered by a person (hits) and a number of the hits that are notnuisance calls (successes), determines a scaled first difference betweena desired reference service level and the realized service level,determines a scaled second difference between the number of successesand a number of successes required to achieve the reference servicelevel, adjusts the reference service level for the scaled firstdifference and the scaled second difference to yield a presently-desiredservice level, determines a calibration factor corresponding to a ratioof (a) a sum over a time of presently-desired nuisance-call levelsmodified by the calibration factor, wherein the presently-desirednuisance-call levels over the time correspond to and complement thepresently-desired service levels over the time, and (b) a sum over thetime of the nuisance calls, modifies the presently-desired nuisance-calllevel corresponding to the presently-desired service level by thecalibration factor to obtain a calibrated said presently-desirednuisance-call level, and directs the predictive dialer to produce acalibrated presently-desired service level corresponding to thecalibrated presently-desired nuisance-call level.
 43. Acomputer-readable medium containing executable instructions which, whenexecuted in a computer, cause the computer to perform the method of:repeatedly causing a predictive dialer to adjust its initiating of callsfor a difference between a desired reference service level and a servicelevel realized by calls that were initiated by the predictive dialer;repeatedly causing the predictive dialer to adjust the initiating ofcalls so as to compensate for realized nuisance-call rates relative todialing aggressiveness settings of the predictive dialer; and repeatedlycausing the predictive dialer to adjust the initiating of calls so thatoscillations of the realized service level remain above the referenceservice level.
 44. A computer-readable medium containing executableinstructions which, when executed in a computer, cause the computer toperform the method of: repeatedly causing a predictive dialer to adjustits initiating of calls for a difference between a desired referenceservice level and a service level realized by calls that were initiatedby the predictive dialer, to converge the realized service level to thedesired reference service level; repeatedly causing the predictivedialer to adjust the initiating of calls so as to attenuate oscillationsof the realized service level or to compensate for systematic errors;and repeatedly causing the predictive dialer to adjust the initiating ofcalls so that oscillations of the realized service level remain abovethe reference service level.
 45. A computer-readable medium containingexecutable instructions which, when executed in a computer, cause thecomputer to perform the method of: determining a realized service levelcorresponding to a ratio of a number of calls initiated over a time bythe predictive dialer that are answered by a person (hits) and a numberof the hits that are not nuisance calls (successes); determining ascaled first difference between a desired reference service level andthe realized service level; o determining a scaled second differencebetween the number of successes and a number of successes required toachieve the reference service level; adjusting the reference servicelevel for the scaled first difference and the scaled second differenceto yield a presently-desired service level; determining a calibrationfactor corresponding to a ratio of (a) a sum over a time ofpresently-desired nuisance-call levels modified by the calibrationfactor, wherein the presently-desired nuisance-call levels over the timecorrespond to and complement the presently-desired service levels overthat time, and (b) a sum over the time of the nuisance calls; modifyingthe presently-desired nuisance-call level corresponding to thepresently-desired service level by the calibration factor to obtain acalibrated said presently-desired nuisance-call level; and directing thepredictive dialer to produce a calibrated presently-desired servicelevel corresponding to the calibrated presently-desired nuisance-calllevel.